package com.example.demo.service;

import com.example.demo.dto.CartItemDetailsDTO;
import com.example.demo.entity.ShoppingCart;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 购物车管理 服务类
 * </p>
 */
public interface ShoppingCartService extends IService<ShoppingCart> {
    List<ShoppingCart> getUserCart(Integer userId);
    String updateCartItem(ShoppingCart cartItem);
    String removeFromCart(Integer cartId);
    String clearCart(Integer userId);

    // 扩展功能
    BigDecimal getCartTotalAmount(Integer userId);
    // 获取当前用户的购物车商品总数
    Integer getTotalCartItems(Integer userId);
    String batchRemoveItems(Integer userId, List<Integer> cartItemIds);
    
    // 获取商品被加入购物车的总次数
    int countCartAddsByGoodsId(Integer goodsId);

    List<CartItemDetailsDTO> getCartDetails(Integer userId);
}
